package com.myhkvideo.yulongbpcdemo.mapper;

import com.myhkvideo.yulongbpcdemo.entity.RawOreCBLDayInfoData;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;

import java.util.Date;

@Mapper
public interface RawOreCBLDayInfoMapper {

    /**
     * 检查数据是否存在
     * @param createTime 创建时间
     * @return 存在返回 1，不存在返回 0
     */
    @Select("SELECT COUNT(*) FROM DayProductData WHERE 时间 = #{createTime}")
    int checkDataExists(Date createTime);

    /**
     * 插入新数据
     * @param data 数据对象
     */
    @Insert("INSERT INTO DayProductData (ID, 时间, 一车间出矿量,  二车间出矿量,冶炼厂出矿量, 总出矿量, 总剥岩量) " +
            "VALUES (#{id}, #{createTime}, #{d_ycjckl}, #{d_ecjckl}, #{d_ylcckl}, #{d_totalckl}, #{d_totalbyl})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insertData(RawOreCBLDayInfoData data);

    /**
     * 更新现有数据
     * @param data 数据对象
     */
    @Insert("UPDATE DayProductData SET 一车间出矿量 = #{d_ycjckl}, 二车间出矿量 = #{d_ecjckl}, 冶炼厂出矿量 = #{d_ylcckl}, " +
            "总出矿量 = #{d_totalckl}, 总剥岩量 = #{d_totalbyl} WHERE 时间 = #{createTime}")
    void updateData(RawOreCBLDayInfoData data);


}